/**
 * 让目标以给定的角速度旋转 
 */
cc.Class({
    extends: cc.Component,

    properties: {
        target:{
            default:null,
            type:cc.Node,
            tooltip:'旋转目标'
        },
        speed:{
            default:0,
            type:cc.Float,
            tooltip:'旋转角速度'
        },
        rotateOnLoad: {
            default: false,
            tooltip:'是否onload时就开始旋转'
        },
        isRotating: {
            get: function() {
                return this._doRotate;
            },
            visible: false,
        }
    },

    // LIFE-CYCLE CALLBACKS:
    onLoad(){
        this._doRotate = false;
        
        this.target = this.target || this.node;
        
        if (this.rotateOnLoad === true)
            this.doRotate();

    },
    /**
     * 开始旋转
     * @param {Float} speed 可选参数，设定旋转速度，或者用预定的速度
     */
    doRotate(speed){
        this.speed = (speed !== void 0)?speed:this.speed;
        //
        this._doRotate = true;
    },
    stopRotate(){
        this._doRotate = false;
    },
    update (dt) {
        if (this._doRotate === true)
            this.target.rotation += this.speed * dt;
    },
});
